/*****************************
 *@file: PierceShootSkill
 *@author: 陈吕唐
 *@desc: 穿刺射击技能:射出一支可以穿透敌人的长矛，造成150%攻击力的伤害和流血4s。
 *@date: 2024-03-21	12:46
 *****************************/
import { _decorator } from 'cc';
import { BaseCharacter } from '../BaseCharacter';
import { GameEnum } from '../GameEnum';
import IBaseBuffDTO from '../buff/IBaseBuffDTO';
import { BaseBullet } from '../bullet/BaseBullet';
import { LineShootSkill } from './LineShootSkill';
const { ccclass, property } = _decorator;

@ccclass('PierceShootSkill')
export class PierceShootSkill extends LineShootSkill {
    /****************************************************************************************************************
     *Readonly 常量
     ****************************************************************************************************************/

    /****************************************************************************************************************
     *Property 定义变量
     ****************************************************************************************************************/
    /***************************************************************
     *PropertyUI 引用的控件
     ***************************************************************/
    /****************************************************************************************************************
     * Lifecycle 生命周期相关方法
     ****************************************************************************************************************/

    /****************************************************************************************************************
     * Public 公有方法
     ****************************************************************************************************************/
    protected release(): void {
        super.release();
        // this.releaseAnimation();
    }
    /****************************************************************************************************************
     * private 私有方法
     ****************************************************************************************************************/
    protected override shootBullet(monster: BaseCharacter = undefined!): BaseBullet {
        let bullet = super.shootBullet(monster);

        if (bullet) {
            //涂BUFF
            bullet.buff = this.createBuff();
            this.playAnimation();
        }
        return bullet;
    }

    /**
     * 
     */
    private createBuff() {
        let buff: IBaseBuffDTO = { id: GameEnum.BuffType.BLEED, time: 4, value: this.character.atk };
        return buff;
    }

    /**************************************
     * 释放技能效果
     **************************************/

    /****************************************************************************************************************
     * Property Get && Set 属性的 get && set 函数
     ****************************************************************************************************************/

}


